package com.weiyuwqj.api.service;

import com.weiyuwqj.api.common.Paginator;
import com.weiyuwqj.api.model.vo.BusAccountRechargeVo;
import com.weiyuwqj.api.base.BaseService;
import com.weiyuwqj.api.common.PageList;
import com.weiyuwqj.api.model.BusAccountRecharge;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface BusAccountRechargeService extends
        BaseService<BusAccountRecharge> {

    void updateBusAccountRechargeStatus(String orderNo, int oldStatus, int newStatus, String addIp);

    PageList getList(Paginator p, Map<String, Object> param);

    //后台不分页列表
    List<BusAccountRechargeVo> getList(Map<String, Object> param);

    BusAccountRechargeVo getSingle(Map<String, Object> param);

    Map<String, Object> sumRechargeAmount(Map map);

    List<BusAccountRechargeVo> excelList(Map<String, Object> param);

    //统计后台首页充值金额统计
    Map countRechargeAmount();

    BigDecimal sumRechargeAmountByUserId(Integer userId);

    PageList getListByUserId(Paginator p, Integer userId);

    PageList getDailyList(Paginator p, Map<String, Object> map);

    //后台首页趋势图
    List<Map> getRegionGroupCountRechargeList(Map map);

    PageList listByGuaranteeId(Paginator p, Map<String, Object> map);

//    /**
//     * 平台充值
//     * @param amount
//     * @param resource
//     * @param addip @return
//     * @param remark
//     * @param type
//     */
//    Map platformRecharge(String amount, String resource, String addip, String remark, Integer type);

    //插入充值记录
    int insertRecharge(BusAccountRecharge recharge);
}
